<?php
/**
 * Description of VotoService
 *
 * @author Magno
 */
class VotoService {


    private $votoDAO;
    function __construct() {
        $this->votoDAO = new VotoDAO();
    }


    public function salvar($voto) {

        try {
            return $this->votoDAO->salvar($voto);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function excluir($enqueteID, $usuarioID) {

        try {
            if(!isset ($enqueteID) || $enqueteID <= 0
                    || !isset ($usuarioID) || $usuarioID <= 0)
                throw new Exception("Codigo do Voto Nao Econtrado!!!");

            $this->votoDAO->excluir($enqueteID, $usuarioID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function listar($pagina = 0, $enqueteID = -1, $usuarioID = -1, $respostaID = "", $carregarDependencias = false) {
        try {
            return $this->votoDAO->listar($pagina, $enqueteID, $usuarioID, $respostaID, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function listarPorOrdem($pagina = 0, $tamanho = 0, $ordem = "enqueteID", $direcao = "DESC", $carregarDependencias = false) {
        try {
            return $this->votoDAO->listarPorOrdem($pagina, $tamanho, $ordem, $direcao, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function buscarPorID($enqueteID, $usuarioID, $carregarDependencias) {
        try {
            if(!isset ($enqueteID) || $enqueteID <= 0
                    || !isset ($usuarioID) || $usuarioID <= 0)
                throw new Exception("Codigo do Voto Nao Econtrado!!!");
            return $this->votoDAO->buscarPorID($enqueteID, $usuarioID, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function total($enqueteID = -1, $usuarioID = -1, $respostaID = "") {
        try {
            return $this->votoDAO->total($enqueteID, $usuarioID, $respostaID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }
}
?>
